﻿// 10237. 「一本通 6.6 练习 8」礼物.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://loj.ac/p/10237

题目描述
原题来自：BZOJ 2142

一年一度的圣诞节快要来到了。每年的圣诞节小 E 都会收到许多礼物，当然他也会送出许多礼物。
不同的人物在小 E 心目中的重要性不同，在小 E 心中分量越重的人，收到的礼物会越多。

小 E 从商店中购买了 n 件礼物，打算送给 m 个人，其中送给第 i 个人礼物数量为 w_i。
请你帮忙计算出送礼物的方案数（两个方案被认为是不同的，当且仅当存在某个人在这两种方案中收到的礼物不同）。
由于方案数可能会很大，你只需要输出模 P 后的结果。

输入格式
输入的第一行包含一个正整数 P，表示模数；

第二行包含两个正整数 n 和 m，分别表示小 E 从商店购买的礼物数和接受礼物的人数；

以下 m 行每行仅包含一个正整数 w_i，表示小 E 要送给第 i 个人的礼物数量。

输出格式
若不存在可行方案，则输出 Impossible，否则输出一个整数，表示模 P 后的方案数。

样例
100
4 2
1
2

12

12 种方案详情如下： {1}{2,3},{1}{2,4},{1}{3,4},{2}{1,3},{2}{1,4},{2}{3,4},{3}{1,2},{3}{1,4},{3}{2,4},{4}{1,2},{4}{1,3},{4}{2,3}。

数据范围与提示
设P=p_1^{c_1}  X p_2^{c_2}  X p_3^{c_3}  X  ...  X p_t ^{ c_t}，p_i 为质数。

对于 100\% 的数据，
1<= n<= 10^9,1<= m<= 5,1<= p_i^{c_i}<= 10^5。

*/
int main()
{
    std::cout << "Hello World!n";
}

